﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraBars;
using DevExpress.XtraBars.Ribbon;
using DevExpress.XtraBars.Helpers;
using DevExpress.Skins;
using DevExpress.LookAndFeel;
using DevExpress.UserSkins;
using System.Configuration;

namespace SMP.Client
{
    using SMP.Resource;
    using SMP.Service;
    public partial class FrmMain : RibbonForm
    {
        Vaitro_Service _objVaitro = new Vaitro_Service();
        public FrmMain()
        {
            InitializeComponent();
            InitSkinGallery();
        }
        void InitSkinGallery()
        {
            SkinHelper.InitSkinGallery(rgbiSkins, true);
        }

        private void FrmMain_Load(object sender, EventArgs e)
        {
            var sql = new SQLServer();
            if (!sql.CheckDbExists(SQLServer.DbName))
                bbiCaidatDB_ItemClick(sender, null);
            sttInfo.Caption = Application.StartupPath + "";
        }


        #region Trang chủ

        private void bbiCaidatDB_ItemClick(object sender, ItemClickEventArgs e)
        {
            var frm = new SystemForm.FrmSetting();
            frm.ShowDialog();
        }

        private void bbiNguoidung_ItemClick(object sender, ItemClickEventArgs e)
        {
            //MessageBox.Show("Chức năng đang được phát triển", "Thông tin...");
            foreach (var x in MdiChildren) if (x is PolForm.FrmThanhvien) return;
            var frm = new PolForm.FrmThanhvien() { MdiParent = this };

            frm.Show();
        }

        private void bbiQuyen_ItemClick(object sender, ItemClickEventArgs e)
        {
            //MessageBox.Show("Chức năng đang được phát triển", "Thông tin...");
            foreach (var x in MdiChildren) if (x is PolForm.FrmVaitro) return;
            var frm = new PolForm.FrmVaitro() { MdiParent = this };

            frm.Show();
        }

        private void bbiDong_ItemClick(object sender, ItemClickEventArgs e)
        {
            foreach (var frm in MdiChildren) frm.Close();
        }

        private void iExit_ItemClick(object sender, ItemClickEventArgs e)
        {
            this.Close();
        }

        #endregion


        #region Nhập - Xuất

        private void bbiMathang_ItemClick(object sender, ItemClickEventArgs e)
        {
            foreach (var x in MdiChildren) if (x is Form.FrmMathang) return;
            var frm = new Form.FrmMathang() { MdiParent = this };

            frm.Show();
        }

        private void bbiNhaphang_ItemClick(object sender, ItemClickEventArgs e)
        {
            foreach (var x in MdiChildren) if (x is Form.FrmNhapkho) return;
            var frm = new Form.FrmNhapkho() { MdiParent = this };

            frm.Show();
        }

        private void bbiXuathang_ItemClick(object sender, ItemClickEventArgs e)
        {
            foreach (var x in MdiChildren) if (x is Form.FrmXuatkho) return;
            var frm = new Form.FrmXuatkho() { MdiParent = this };

            frm.Show();
        }

        #endregion


        #region Thống kê

        private void bbiHangban_Theongay_ItemClick(object sender, ItemClickEventArgs e)
        {
            foreach (var x in MdiChildren) if (x is Form.FrmThongke_Hangban) return;
            var frm = new Form.FrmThongke_Hangban() { MdiParent = this };

            frm.Show();
        }

        private void bbiHangnhap_Theongay_ItemClick(object sender, ItemClickEventArgs e)
        {
            foreach (var x in MdiChildren) if (x is Form.FrmThongke_Hangnhap) return;
            var frm = new Form.FrmThongke_Hangnhap() { MdiParent = this };

            frm.Show();
        }

        private void bbiHangton_ItemClick(object sender, ItemClickEventArgs e)
        {
            //foreach (var x in MdiChildren) if (x is Form.FrmThongke_Hangban) return;
            //var frm = new Form.FrmThongke_Hangban() { MdiParent = this };

            //frm.Show();
            MessageBox.Show("Chức năng đang được phát triển", "Thông tin...");
        }



        #endregion


        #region Method

        private void CheckRole(object id_thanhvien)
        {
            if (id_thanhvien + "" == "")
                return;
            var dtb = _objVaitro.GetAll_Form_By_Id_Thanhvien(id_thanhvien);
            if (dtb == null || dtb.Rows.Count == 0)
            {
                Windows.Forms.Message.Show("Tài khoản của bạn chưa được cấp quyền.\nVui lòng liên hệ Administrator để được cấp quyền truy cập", "Thông Báo");
                ChangStatusTab(false);
                return;
            }
            else
            {
                ChangStatusTab(false);
                foreach (DataRow dr in dtb.Rows)
                {
                    var formname = "bbi_" + dr["Ten_Form"];
                    // 
                    // bbi_FrmNhapkho
                    // 
                    //this.bbi_FrmNhapkho.Caption = "Nhập hàng";
                    //this.bbi_FrmNhapkho.Id = 62;
                    ////    this.bbi_FrmNhapkho.LargeGlyph = global::SMP.Client.Properties.Resources.nhapvattu;
                    //this.bbi_FrmNhapkho.Name = "bbi_FrmNhapkho";
                    //this.bbi_FrmNhapkho.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.bbiNhaphang_ItemClick);
                }
            }
        }

        private void CreateButton(string name, string caption, int id)
        {

        }

        private void ChangStatusTab(bool isbool = true)
        {
            //tab_Nhapxuat.Visible = isbool;
            //tab_Thongke.Visible = isbool;
            //rPageHethong.Visible = isbool;
            //rPageVaitro.Visible = isbool;
        }

        #endregion

        private void barButtonItem2_ItemClick(object sender, ItemClickEventArgs e)
        {
            MessageBox.Show("Chức năng đang được phát triển", "Thông tin...");
        }

        private void barButtonItem11_ItemClick(object sender, ItemClickEventArgs e)
        {
            MessageBox.Show("Chức năng đang được phát triển", "Thông tin...");
        }

        private void barButtonItem12_ItemClick(object sender, ItemClickEventArgs e)
        {
            MessageBox.Show("Chức năng đang được phát triển", "Thông tin...");
        }


















    }
}